package com.ruoyi.leasemanagement.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 租约管理对象 leasemanagement
 * 
 * @author ruoyi
 * @date 2024-10-12
 */
public class Leasemanagement extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 租约编号 */
    private Long leaseId;

    /** 公寓编号 */
    @Excel(name = "公寓编号")
    private Long apartmentId;

    /** 房间编号 */
    @Excel(name = "房间编号")
    private Long roomId;

    /** 租户姓名 */
    @Excel(name = "租户姓名")
    private String tenantName;

    /** 租户电话 */
    @Excel(name = "租户电话")
    private String tenantPhone;

    /** 租约开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "租约开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startDate;

    /** 租约结束日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "租约结束日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endDate;

    /** 租金 */
    @Excel(name = "租金")
    private BigDecimal rent;

    /** 押金 */
    @Excel(name = "押金")
    private BigDecimal deposit;

    /** 付款频率 */
    @Excel(name = "付款频率")
    private String paymentFrequency;

    /** 租约状态 */
    @Excel(name = "租约状态")
    private String status;

    /** 备注 */
    @Excel(name = "备注")
    private String notes;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdAt;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatedAt;

    public void setLeaseId(Long leaseId) 
    {
        this.leaseId = leaseId;
    }

    public Long getLeaseId() 
    {
        return leaseId;
    }
    public void setApartmentId(Long apartmentId) 
    {
        this.apartmentId = apartmentId;
    }

    public Long getApartmentId() 
    {
        return apartmentId;
    }
    public void setRoomId(Long roomId) 
    {
        this.roomId = roomId;
    }

    public Long getRoomId() 
    {
        return roomId;
    }
    public void setTenantName(String tenantName) 
    {
        this.tenantName = tenantName;
    }

    public String getTenantName() 
    {
        return tenantName;
    }
    public void setTenantPhone(String tenantPhone) 
    {
        this.tenantPhone = tenantPhone;
    }

    public String getTenantPhone() 
    {
        return tenantPhone;
    }
    public void setStartDate(Date startDate) 
    {
        this.startDate = startDate;
    }

    public Date getStartDate() 
    {
        return startDate;
    }
    public void setEndDate(Date endDate) 
    {
        this.endDate = endDate;
    }

    public Date getEndDate() 
    {
        return endDate;
    }
    public void setRent(BigDecimal rent) 
    {
        this.rent = rent;
    }

    public BigDecimal getRent() 
    {
        return rent;
    }
    public void setDeposit(BigDecimal deposit) 
    {
        this.deposit = deposit;
    }

    public BigDecimal getDeposit() 
    {
        return deposit;
    }
    public void setPaymentFrequency(String paymentFrequency) 
    {
        this.paymentFrequency = paymentFrequency;
    }

    public String getPaymentFrequency() 
    {
        return paymentFrequency;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setNotes(String notes) 
    {
        this.notes = notes;
    }

    public String getNotes() 
    {
        return notes;
    }
    public void setCreatedAt(Date createdAt) 
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt() 
    {
        return createdAt;
    }
    public void setUpdatedAt(Date updatedAt) 
    {
        this.updatedAt = updatedAt;
    }

    public Date getUpdatedAt() 
    {
        return updatedAt;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("leaseId", getLeaseId())
            .append("apartmentId", getApartmentId())
            .append("roomId", getRoomId())
            .append("tenantName", getTenantName())
            .append("tenantPhone", getTenantPhone())
            .append("startDate", getStartDate())
            .append("endDate", getEndDate())
            .append("rent", getRent())
            .append("deposit", getDeposit())
            .append("paymentFrequency", getPaymentFrequency())
            .append("status", getStatus())
            .append("notes", getNotes())
            .append("createdAt", getCreatedAt())
            .append("updatedAt", getUpdatedAt())
            .toString();
    }
}
